package com.pactera.madp.cp.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pactera.madp.common.core.util.R;
import com.pactera.madp.cp.api.dto.product.ProductAddDto;
import com.pactera.madp.cp.api.dto.product.ProductQueryDto;
import com.pactera.madp.cp.api.dto.product.ProductUpdateDto;
import com.pactera.madp.cp.api.entity.product.ProductEntity;

/**
 * 产品管理服务
 *
 * @author kedongZhang
 * @date 2021/5/26 10:27
 */
public interface ProductService extends IService<ProductEntity> {

    /**
     * 新增产品
     */
    R saveProduct(ProductAddDto dto);

    /**
     *  分页查询  产品
     */
    R getProductPage(Page page, ProductQueryDto dto);

    /**
     * 编辑产品
     */
    R updateProduct(ProductUpdateDto dto);

    /**
     *   根据分类id 获取获取上架产品列表
     */
    R getPublishedProductListByGroupId(Integer groupId);

    /**
     *   开启或 关闭  产品精选
     */
    R selectProduct(Integer productId);

    /**
     *   侧边栏获取产品
     */
    R getSidebarProductPage(String wxUserId, Page page, ProductQueryDto dto);

    /**
     *   侧边栏获取分类下的产品
     */
    R getSidebarPublishedProductListByGroupId(Page page,Integer groupId);

}
